package com.example.finalframe.service.intf;

import com.example.finalframe.model.dto.*;
import com.example.finalframe.model.entity.Menu;
import org.apache.ibatis.annotations.Param;

import java.io.UnsupportedEncodingException;
import java.util.List;

public interface UserService {

    UserRoleDto findUserRole(Integer id);

    UserRoleDto findUserRoleByUserId(Integer userId);
    

    RoleDto findRoleByUserId(Integer userId);
    RoleDto findRoleMenuByRoleId(Integer roleId);
    RoleMenuDto findMenuByMenuId(Integer menuId);
    Integer findRoleId(Integer id);

    boolean checkToken(long userid, String token, String clientType);

    //多端设备认证,token生成时通过一定规则进行加密
    String genarateToken(Integer userId,String password,String clientType) throws UnsupportedEncodingException;

    RoleDto findRoleByRoleId(Integer roleId);

    List<MenuDto> findMenuListByRoleId(Integer roleid);

    List<MenuDto> findMenuList();

    Boolean addMenuForRole(Integer roleid, Integer menuid);

    Boolean deleteMenuForRole(Integer roleid, Integer menuid);
}
